home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Oberon⁄F™ 1.1 / Mac / Mod / ListMgr (.txt) < prev    next >
Encoding:
Oberon Document  |  1995-03-28  |  10.1 KB  |  214 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. Helvetica
  17. Helvetica
  18. MODULE MacListMgr;
  19.     IMPORT
  20.         SYSTEM, MacTypes,
  21.         QuickDraw := MacQuickDraw, WindowMgr := MacWindowMgr, ControlMgr := MacControlMgr;
  22.     CONST
  23.         UNTAGGED = 1;
  24.         HANDLE = 2;
  25.         CODE = 1;
  26.     TYPE
  27.         Cell* = QuickDraw.Point;
  28.         ListRec* = RECORD (MacTypes.Data)
  29.             rView*: QuickDraw.Rect;
  30.             port*: QuickDraw.GrafPtr;
  31.             indent*: QuickDraw.Point;
  32.             cellSize*: QuickDraw.Point;
  33.             visible*: QuickDraw.Rect;
  34.             vScroll*: ControlMgr.ControlHandle;
  35.             hScroll*: ControlMgr.ControlHandle;
  36.             selFlags*: MacTypes.SignedByte;
  37.             lActive*: BOOLEAN;
  38.             lReserved: MacTypes.SignedByte;
  39.             listFlags*: MacTypes.SignedByte;
  40.             clikTime*: LONGINT;
  41.             clikLoc*: QuickDraw.Point;
  42.             mouseLoc*: QuickDraw.Point;
  43.             lClikLoop*: MacTypes.Ptr;
  44.             lastClick*: Cell;
  45.             refCon*: LONGINT;
  46.             listDefProc*: MacTypes.Handle;
  47.             userHandle*: MacTypes.Handle;
  48.             dataBounds*: QuickDraw.Rect;
  49.             cells*: MacTypes.Handle;
  50.             maxIndex*: INTEGER;
  51.             cellArray*: ARRAY 1 OF INTEGER
  52.         END;
  53.         ListPtr* = POINTER TO ListRec;
  54.         ListHandle* = POINTER [HANDLE] TO ListRec;
  55.         MyLDEF*= PROCEDURE (message: INTEGER; selected: BOOLEAN; VAR cellRect: QuickDraw.Rect;
  56.                                                 theCell: Cell; dataOffset: INTEGER; dataLen: INTEGER; theList: ListHandle);
  57.         MyMatchFunction*=PROCEDURE (cellDataPtr, searchDataPtr: MacTypes.Ptr;
  58.                                                                 cellDataLen, searchDataLen: INTEGER): INTEGER;
  59.         MyClickLoop*= PROCEDURE ;
  60.     PROCEDURE [CODE] lNew (rView: QuickDraw.Rect; dataBounds: QuickDraw.Rect; cSize: QuickDraw.Point;
  61.                                     theProc: INTEGER; theWindow: WindowMgr.WindowPtr;
  62.                                     drawIt, hasGrow, scrollHoriz, scrollVert: BOOLEAN; sel: INTEGER): ListHandle 0A9H, 0E7H;
  63.     PROCEDURE [CODE] lDispose (lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  64.     PROCEDURE [CODE] lAddColumn (count: INTEGER; colNum: INTEGER; lHandle: ListHandle; sel: INTEGER): INTEGER 0A9H, 0E7H;
  65.     PROCEDURE [CODE] lAddRow (count: INTEGER; rowNum: INTEGER; lHandle: ListHandle; sel: INTEGER): INTEGER 0A9H, 0E7H;
  66.     PROCEDURE [CODE] lDelColumn (count: INTEGER; colNum: INTEGER; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  67.     PROCEDURE [CODE] lDelRow (count: INTEGER; rowNum: INTEGER; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  68.     PROCEDURE [CODE] lGetSelect (next: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle; sel: INTEGER): BOOLEAN 0A9H, 0E7H;
  69.     PROCEDURE [CODE] lSetSelect (setIt: BOOLEAN; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  70.     PROCEDURE [CODE] lSetCell (dataPtr: MacTypes.Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  71.     PROCEDURE [CODE] lAddToCell (dataPtr: MacTypes.Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  72.     PROCEDURE [CODE] lGetCellDataLocation (VAR offset, len: INTEGER; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  73.     PROCEDURE [CODE] lGetCell (dataPtr: MacTypes.Ptr; VAR dataLen: INTEGER; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  74.     PROCEDURE [CODE] lClick (pt: QuickDraw.Point; modifiers: INTEGER; lHandle: ListHandle; sel: INTEGER): BOOLEAN 0A9H, 0E7H;
  75.     PROCEDURE [CODE] lActivate (act: BOOLEAN; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  76.     PROCEDURE [CODE] lUpdate (theRgn: QuickDraw.RgnHandle; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  77.     PROCEDURE [CODE] lSetDrawingMode (drawit: BOOLEAN; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  78.     PROCEDURE [CODE] lDraw (theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  79.     PROCEDURE [CODE] lAutoScroll (lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  80.     PROCEDURE [CODE] lScroll (dCols: INTEGER; dRows: INTEGER; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  81.     PROCEDURE [CODE] lSearch (dataPtr: MacTypes.Ptr; dataLen: INTEGER; searchProc: MacTypes.Ptr;
  82.                                         VAR theCell: Cell; lHandle: ListHandle; sel: INTEGER): BOOLEAN 0A9H, 0E7H;
  83.     PROCEDURE [CODE] lSize (listWidth: INTEGER; listHeight: INTEGER; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  84.     PROCEDURE [CODE] lCellSize (cSize: QuickDraw.Point; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  85.     PROCEDURE [CODE] lNextCell (hNext, vNext: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle; sel: INTEGER): BOOLEAN 0A9H, 0E7H;
  86.     PROCEDURE [CODE] lRect (VAR cellRect: QuickDraw.Rect; theCell: Cell; lHandle: ListHandle; sel: INTEGER) 0A9H, 0E7H;
  87.     PROCEDURE [CODE] lLastClick (lHandle: ListHandle; sel: INTEGER): LONGINT 0A9H, 0E7H;
  88.     (* Creating and Disposing of Lists *)
  89.     PROCEDURE LNew* (rView: QuickDraw.Rect; dataBounds: QuickDraw.Rect; cSize: QuickDraw.Point;
  90.                                     theProc: INTEGER; theWindow: WindowMgr.WindowPtr;
  91.                                     drawIt, hasGrow, scrollHoriz, scrollVert: BOOLEAN): ListHandle;
  92.     BEGIN
  93.         RETURN lNew(rView, dataBounds, cSize, theProc, theWindow, drawIt, hasGrow, scrollHoriz, scrollVert, 44H)
  94.     END LNew;
  95.     PROCEDURE LDispose* (lHandle: ListHandle);
  96.     BEGIN
  97.         lDispose(lHandle, 28H)
  98.     END LDispose;
  99.     (* Adding and Deleting Columns of Rows To and From a List *)
  100.     PROCEDURE LAddColumn* (count: INTEGER; colNum: INTEGER; lHandle: ListHandle): INTEGER;
  101.     BEGIN
  102.         RETURN lAddColumn(count, colNum, lHandle, 4H)
  103.     END LAddColumn;
  104.     PROCEDURE LAddRow* (count: INTEGER; rowNum: INTEGER; lHandle: ListHandle): INTEGER;
  105.     BEGIN
  106.         RETURN lAddRow(count, rowNum, lHandle, 8H)
  107.     END LAddRow;
  108.     PROCEDURE LDelColumn* (count: INTEGER; colNum: INTEGER; lHandle: ListHandle);
  109.     BEGIN
  110.         lDelColumn(count, colNum, lHandle, 20H)
  111.     END LDelColumn;
  112.     PROCEDURE LDelRow* (count: INTEGER; rowNum: INTEGER; lHandle: ListHandle);
  113.     BEGIN
  114.         lDelRow(count, rowNum, lHandle, 24H)
  115.     END LDelRow;
  116.     (* Determining or Changing the Selection *)
  117.     PROCEDURE LGetSelect* (next: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  118.     BEGIN
  119.         RETURN lGetSelect(next, theCell, lHandle, 3CH)
  120.     END LGetSelect;
  121.     PROCEDURE LSetSelect* (setIt: BOOLEAN; theCell: Cell; lHandle: ListHandle);
  122.     BEGIN
  123.         lSetSelect(setIt, theCell, lHandle, 5CH)
  124.     END LSetSelect;
  125.     (* Accessing and Manipulating Cell Data *)
  126.     PROCEDURE LSetCell* (dataPtr: MacTypes.Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  127.     BEGIN
  128.         lSetCell(dataPtr, dataLen, theCell, lHandle, 58H)
  129.     END LSetCell;
  130.     PROCEDURE LAddToCell* (dataPtr: MacTypes.Ptr; dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  131.     BEGIN
  132.         lAddToCell(dataPtr, dataLen, theCell, lHandle, 0CH)
  133.     END LAddToCell;
  134.     PROCEDURE LGetCellDataLocation* (VAR offset, len: INTEGER; theCell: Cell; lHandle: ListHandle);
  135.     BEGIN
  136.         lGetCellDataLocation(offset, len, theCell, lHandle, 34H)
  137.     END LGetCellDataLocation;
  138.     PROCEDURE LGetCell* (dataPtr: MacTypes.Ptr; VAR dataLen: INTEGER; theCell: Cell; lHandle: ListHandle);
  139.     BEGIN
  140.         lGetCell(dataPtr, dataLen, theCell, lHandle, 38H)
  141.     END LGetCell;
  142.     (* Responding to Events Affecting Lists *)
  143.     PROCEDURE LClick* (pt: QuickDraw.Point; modifiers: INTEGER; lHandle: ListHandle): BOOLEAN;
  144.     BEGIN
  145.         RETURN lClick(pt, modifiers, lHandle, 18H)
  146.     END LClick;
  147.     PROCEDURE LActivate* (act: BOOLEAN; lHandle: ListHandle);
  148.     BEGIN
  149.         lActivate(act, lHandle, 0H)
  150.     END LActivate;
  151.     PROCEDURE LUpdate* (theRgn: QuickDraw.RgnHandle; lHandle: ListHandle);
  152.     BEGIN
  153.         lUpdate(theRgn, lHandle, 64H)
  154.     END LUpdate;
  155.     (* Modifying a List's Appearance *)
  156.     PROCEDURE LSetDrawingMode* (drawIt: BOOLEAN; lHandle: ListHandle);
  157.     BEGIN
  158.         lSetDrawingMode(drawIt, lHandle, 2CH)
  159.     END LSetDrawingMode;
  160.     PROCEDURE LDraw* (theCell: Cell; lHandle: ListHandle);
  161.     BEGIN
  162.         lDraw(theCell, lHandle, 30H)
  163.     END LDraw;
  164.     PROCEDURE LAutoScroll* (lHandle: ListHandle);
  165.     BEGIN
  166.         lAutoScroll(lHandle, 10H)
  167.     END LAutoScroll;
  168.     PROCEDURE LScroll* (dCols: INTEGER; dRows: INTEGER; lHandle: ListHandle);
  169.     BEGIN
  170.         lScroll(dCols, dRows, lHandle, 50H)
  171.     END LScroll;
  172.     (* Searching a List for a Particular Item *)
  173.     PROCEDURE LSearch* (dataPtr: MacTypes.Ptr; dataLen: INTEGER; searchProc: MacTypes.Ptr;
  174.                                         VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  175.     BEGIN
  176.         RETURN lSearch(dataPtr, dataLen, searchProc, theCell, lHandle, 54H)
  177.     END LSearch;
  178.     (* Changing the Size of Cells and Lists *)
  179.     PROCEDURE LSize* (listWidth: INTEGER; listHeight: INTEGER; lHandle: ListHandle);
  180.     BEGIN
  181.         lSize(listWidth, listHeight, lHandle, 60H)
  182.     END LSize;
  183.     PROCEDURE LCellSize* (cSize: QuickDraw.Point; lHandle: ListHandle);
  184.     BEGIN
  185.         lCellSize(cSize, lHandle, 14H)
  186.     END LCellSize;
  187.     (* Getting Information About Cells *)
  188.     PROCEDURE LNextCell* (hNext, vNext: BOOLEAN; VAR theCell: Cell; lHandle: ListHandle): BOOLEAN;
  189.     BEGIN
  190.         RETURN lNextCell(hNext, vNext, theCell, lHandle, 48H)
  191.     END LNextCell;
  192.     PROCEDURE LRect* (VAR cellRect: QuickDraw.Rect; theCell: Cell; lHandle: ListHandle);
  193.     BEGIN
  194.         lRect(cellRect, theCell, lHandle, 4CH)
  195.     END LRect;
  196.     PROCEDURE LLastClick* (lHandle: ListHandle; VAR theCell: Cell);
  197.         VAR pt: LONGINT;
  198.     BEGIN
  199.         pt := lLastClick(lHandle, 40H);
  200.         theCell.h := SHORT(pt MOD 65536); theCell.v := SHORT(pt DIV 65536)
  201.     END LLastClick;
  202. END MacListMgr.
  203. TextControllers.StdCtrlDesc
  204. TextControllers.ControllerDesc
  205. Containers.ControllerDesc
  206. Controllers.ControllerDesc
  207. TextRulers.StdRulerDesc
  208. TextRulers.RulerDesc
  209. TextRulers.StdStyleDesc
  210. TextRulers.StyleDesc
  211. TextRulers.AttributesDesc
  212. Helvetica
  213. Documents.ControllerDesc
  214.